#pragma once
#define N 20
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
//定义顺序表的结构:

//静态数据表：
//struct SeqList
//{
//	int arr[N];
//	int size;//顺序表内的有效数据个数
//};


//动态顺序表:
typedef int SLDataType;
typedef struct SeqList
{
	SLDataType* arr;
	int size;//有效数据个数
	int capacity;//空间大小
}SL;

//顺序表初始化：
void SLInit(SL* ps);

//顺序表的销毁:
void SLDestroy(SL* ps);

//尾插:
void SLPushBack(SL* ps, SLDataType x);

//头插:
void SLPushFront(SL * ps, SLDataType x);

//可以在头插和尾插后写一个打印函数，这样就不用去一步步调试了
void PrintSL(SL s);

//尾删
void SLPopBack(SL* ps);

//头删
void SLPopFront(SL* ps);

//指定位置之前插⼊数据
void SLInsert(SL* ps, int pos, SLDataType x);

//删除指定位置的数据
void SLErase(SL* ps, int pos);

//查找数据:
int SLFind(SL* ps, SLDataType x);